
main:     file format elf64-x86-64


Disassembly of section .init:

0000000000400588 <_init>:
  400588:	48 83 ec 08          	sub    $0x8,%rsp
  40058c:	48 8b 05 65 0a 20 00 	mov    0x200a65(%rip),%rax        # 600ff8 <__gmon_start__>
  400593:	48 85 c0             	test   %rax,%rax
  400596:	74 05                	je     40059d <_init+0x15>
  400598:	e8 73 00 00 00       	callq  400610 <__gmon_start__@plt>
  40059d:	48 83 c4 08          	add    $0x8,%rsp
  4005a1:	c3                   	retq   

Disassembly of section .plt:

00000000004005b0 <.plt>:
  4005b0:	ff 35 52 0a 20 00    	pushq  0x200a52(%rip)        # 601008 <_GLOBAL_OFFSET_TABLE_+0x8>
  4005b6:	ff 25 54 0a 20 00    	jmpq   *0x200a54(%rip)        # 601010 <_GLOBAL_OFFSET_TABLE_+0x10>
  4005bc:	0f 1f 40 00          	nopl   0x0(%rax)

00000000004005c0 <write@plt>:
  4005c0:	ff 25 52 0a 20 00    	jmpq   *0x200a52(%rip)        # 601018 <write@GLIBC_2.2.5>
  4005c6:	68 00 00 00 00       	pushq  $0x0
  4005cb:	e9 e0 ff ff ff       	jmpq   4005b0 <.plt>

00000000004005d0 <printf@plt>:
  4005d0:	ff 25 4a 0a 20 00    	jmpq   *0x200a4a(%rip)        # 601020 <printf@GLIBC_2.2.5>
  4005d6:	68 01 00 00 00       	pushq  $0x1
  4005db:	e9 d0 ff ff ff       	jmpq   4005b0 <.plt>

00000000004005e0 <close@plt>:
  4005e0:	ff 25 42 0a 20 00    	jmpq   *0x200a42(%rip)        # 601028 <close@GLIBC_2.2.5>
  4005e6:	68 02 00 00 00       	pushq  $0x2
  4005eb:	e9 c0 ff ff ff       	jmpq   4005b0 <.plt>

00000000004005f0 <__libc_start_main@plt>:
  4005f0:	ff 25 3a 0a 20 00    	jmpq   *0x200a3a(%rip)        # 601030 <__libc_start_main@GLIBC_2.2.5>
  4005f6:	68 03 00 00 00       	pushq  $0x3
  4005fb:	e9 b0 ff ff ff       	jmpq   4005b0 <.plt>

0000000000400600 <strcmp@plt>:
  400600:	ff 25 32 0a 20 00    	jmpq   *0x200a32(%rip)        # 601038 <strcmp@GLIBC_2.2.5>
  400606:	68 04 00 00 00       	pushq  $0x4
  40060b:	e9 a0 ff ff ff       	jmpq   4005b0 <.plt>

0000000000400610 <__gmon_start__@plt>:
  400610:	ff 25 2a 0a 20 00    	jmpq   *0x200a2a(%rip)        # 601040 <__gmon_start__>
  400616:	68 05 00 00 00       	pushq  $0x5
  40061b:	e9 90 ff ff ff       	jmpq   4005b0 <.plt>

0000000000400620 <memcpy@plt>:
  400620:	ff 25 22 0a 20 00    	jmpq   *0x200a22(%rip)        # 601048 <memcpy@GLIBC_2.14>
  400626:	68 06 00 00 00       	pushq  $0x6
  40062b:	e9 80 ff ff ff       	jmpq   4005b0 <.plt>

0000000000400630 <malloc@plt>:
  400630:	ff 25 1a 0a 20 00    	jmpq   *0x200a1a(%rip)        # 601050 <malloc@GLIBC_2.2.5>
  400636:	68 07 00 00 00       	pushq  $0x7
  40063b:	e9 70 ff ff ff       	jmpq   4005b0 <.plt>

0000000000400640 <fsync@plt>:
  400640:	ff 25 12 0a 20 00    	jmpq   *0x200a12(%rip)        # 601058 <fsync@GLIBC_2.2.5>
  400646:	68 08 00 00 00       	pushq  $0x8
  40064b:	e9 60 ff ff ff       	jmpq   4005b0 <.plt>

0000000000400650 <open@plt>:
  400650:	ff 25 0a 0a 20 00    	jmpq   *0x200a0a(%rip)        # 601060 <open@GLIBC_2.2.5>
  400656:	68 09 00 00 00       	pushq  $0x9
  40065b:	e9 50 ff ff ff       	jmpq   4005b0 <.plt>

Disassembly of section .text:

0000000000400660 <_start>:
  400660:	31 ed                	xor    %ebp,%ebp
  400662:	49 89 d1             	mov    %rdx,%r9
  400665:	5e                   	pop    %rsi
  400666:	48 89 e2             	mov    %rsp,%rdx
  400669:	48 83 e4 f0          	and    $0xfffffffffffffff0,%rsp
  40066d:	50                   	push   %rax
  40066e:	54                   	push   %rsp
  40066f:	49 c7 c0 20 0b 40 00 	mov    $0x400b20,%r8
  400676:	48 c7 c1 b0 0a 40 00 	mov    $0x400ab0,%rcx
  40067d:	48 c7 c7 4d 07 40 00 	mov    $0x40074d,%rdi
  400684:	e8 67 ff ff ff       	callq  4005f0 <__libc_start_main@plt>
  400689:	f4                   	hlt    
  40068a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)

0000000000400690 <deregister_tm_clones>:
  400690:	b8 77 10 60 00       	mov    $0x601077,%eax
  400695:	55                   	push   %rbp
  400696:	48 2d 70 10 60 00    	sub    $0x601070,%rax
  40069c:	48 83 f8 0e          	cmp    $0xe,%rax
  4006a0:	48 89 e5             	mov    %rsp,%rbp
  4006a3:	77 02                	ja     4006a7 <deregister_tm_clones+0x17>
  4006a5:	5d                   	pop    %rbp
  4006a6:	c3                   	retq   
  4006a7:	b8 00 00 00 00       	mov    $0x0,%eax
  4006ac:	48 85 c0             	test   %rax,%rax
  4006af:	74 f4                	je     4006a5 <deregister_tm_clones+0x15>
  4006b1:	5d                   	pop    %rbp
  4006b2:	bf 70 10 60 00       	mov    $0x601070,%edi
  4006b7:	ff e0                	jmpq   *%rax
  4006b9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

00000000004006c0 <register_tm_clones>:
  4006c0:	b8 70 10 60 00       	mov    $0x601070,%eax
  4006c5:	55                   	push   %rbp
  4006c6:	48 2d 70 10 60 00    	sub    $0x601070,%rax
  4006cc:	48 c1 f8 03          	sar    $0x3,%rax
  4006d0:	48 89 e5             	mov    %rsp,%rbp
  4006d3:	48 89 c2             	mov    %rax,%rdx
  4006d6:	48 c1 ea 3f          	shr    $0x3f,%rdx
  4006da:	48 01 d0             	add    %rdx,%rax
  4006dd:	48 d1 f8             	sar    %rax
  4006e0:	75 02                	jne    4006e4 <register_tm_clones+0x24>
  4006e2:	5d                   	pop    %rbp
  4006e3:	c3                   	retq   
  4006e4:	ba 00 00 00 00       	mov    $0x0,%edx
  4006e9:	48 85 d2             	test   %rdx,%rdx
  4006ec:	74 f4                	je     4006e2 <register_tm_clones+0x22>
  4006ee:	5d                   	pop    %rbp
  4006ef:	48 89 c6             	mov    %rax,%rsi
  4006f2:	bf 70 10 60 00       	mov    $0x601070,%edi
  4006f7:	ff e2                	jmpq   *%rdx
  4006f9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000400700 <__do_global_dtors_aux>:
  400700:	80 3d 65 09 20 00 00 	cmpb   $0x0,0x200965(%rip)        # 60106c <_edata>
  400707:	75 11                	jne    40071a <__do_global_dtors_aux+0x1a>
  400709:	55                   	push   %rbp
  40070a:	48 89 e5             	mov    %rsp,%rbp
  40070d:	e8 7e ff ff ff       	callq  400690 <deregister_tm_clones>
  400712:	5d                   	pop    %rbp
  400713:	c6 05 52 09 20 00 01 	movb   $0x1,0x200952(%rip)        # 60106c <_edata>
  40071a:	f3 c3                	repz retq 
  40071c:	0f 1f 40 00          	nopl   0x0(%rax)

0000000000400720 <frame_dummy>:
  400720:	48 83 3d f8 06 20 00 	cmpq   $0x0,0x2006f8(%rip)        # 600e20 <__JCR_END__>
  400727:	00 
  400728:	74 1e                	je     400748 <frame_dummy+0x28>
  40072a:	b8 00 00 00 00       	mov    $0x0,%eax
  40072f:	48 85 c0             	test   %rax,%rax
  400732:	74 14                	je     400748 <frame_dummy+0x28>
  400734:	55                   	push   %rbp
  400735:	bf 20 0e 60 00       	mov    $0x600e20,%edi
  40073a:	48 89 e5             	mov    %rsp,%rbp
  40073d:	ff d0                	callq  *%rax
  40073f:	5d                   	pop    %rbp
  400740:	e9 7b ff ff ff       	jmpq   4006c0 <register_tm_clones>
  400745:	0f 1f 00             	nopl   (%rax)
  400748:	e9 73 ff ff ff       	jmpq   4006c0 <register_tm_clones>

000000000040074d <main>:
  40074d:	55                   	push   %rbp
  40074e:	48 89 e5             	mov    %rsp,%rbp
  400751:	48 83 ec 10          	sub    $0x10,%rsp
  400755:	48 c7 45 f8 40 0b 40 	movq   $0x400b40,-0x8(%rbp)
  40075c:	00 
  40075d:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400761:	48 89 c7             	mov    %rax,%rdi
  400764:	b8 00 00 00 00       	mov    $0x0,%eax
  400769:	e8 09 03 00 00       	callq  400a77 <my_strlen>
  40076e:	89 c2                	mov    %eax,%edx
  400770:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400774:	48 89 c6             	mov    %rax,%rsi
  400777:	bf 48 0b 40 00       	mov    $0x400b48,%edi
  40077c:	b8 00 00 00 00       	mov    $0x0,%eax
  400781:	e8 4a fe ff ff       	callq  4005d0 <printf@plt>
  400786:	be 50 0b 40 00       	mov    $0x400b50,%esi
  40078b:	bf 52 0b 40 00       	mov    $0x400b52,%edi
  400790:	e8 97 00 00 00       	callq  40082c <mfopen>
  400795:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
  400799:	48 83 7d f0 00       	cmpq   $0x0,-0x10(%rbp)
  40079e:	75 0a                	jne    4007aa <main+0x5d>
  4007a0:	b8 01 00 00 00       	mov    $0x1,%eax
  4007a5:	e9 80 00 00 00       	jmpq   40082a <main+0xdd>
  4007aa:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4007ae:	48 89 c7             	mov    %rax,%rdi
  4007b1:	b8 00 00 00 00       	mov    $0x0,%eax
  4007b6:	e8 bc 02 00 00       	callq  400a77 <my_strlen>
  4007bb:	89 c1                	mov    %eax,%ecx
  4007bd:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
  4007c1:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4007c5:	89 ce                	mov    %ecx,%esi
  4007c7:	48 89 c7             	mov    %rax,%rdi
  4007ca:	e8 d3 01 00 00       	callq  4009a2 <mfwrite>
  4007cf:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4007d3:	48 89 c7             	mov    %rax,%rdi
  4007d6:	b8 00 00 00 00       	mov    $0x0,%eax
  4007db:	e8 97 02 00 00       	callq  400a77 <my_strlen>
  4007e0:	89 c1                	mov    %eax,%ecx
  4007e2:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
  4007e6:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4007ea:	89 ce                	mov    %ecx,%esi
  4007ec:	48 89 c7             	mov    %rax,%rdi
  4007ef:	e8 ae 01 00 00       	callq  4009a2 <mfwrite>
  4007f4:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4007f8:	48 89 c7             	mov    %rax,%rdi
  4007fb:	b8 00 00 00 00       	mov    $0x0,%eax
  400800:	e8 72 02 00 00       	callq  400a77 <my_strlen>
  400805:	89 c1                	mov    %eax,%ecx
  400807:	48 8b 55 f0          	mov    -0x10(%rbp),%rdx
  40080b:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  40080f:	89 ce                	mov    %ecx,%esi
  400811:	48 89 c7             	mov    %rax,%rdi
  400814:	e8 89 01 00 00       	callq  4009a2 <mfwrite>
  400819:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  40081d:	48 89 c7             	mov    %rax,%rdi
  400820:	e8 1c 02 00 00       	callq  400a41 <mfclose>
  400825:	b8 00 00 00 00       	mov    $0x0,%eax
  40082a:	c9                   	leaveq 
  40082b:	c3                   	retq   

000000000040082c <mfopen>:
  40082c:	55                   	push   %rbp
  40082d:	48 89 e5             	mov    %rsp,%rbp
  400830:	48 83 ec 20          	sub    $0x20,%rsp
  400834:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
  400838:	48 89 75 e0          	mov    %rsi,-0x20(%rbp)
  40083c:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%rbp)
  400843:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
  400847:	be 5c 0b 40 00       	mov    $0x400b5c,%esi
  40084c:	48 89 c7             	mov    %rax,%rdi
  40084f:	e8 ac fd ff ff       	callq  400600 <strcmp@plt>
  400854:	85 c0                	test   %eax,%eax
  400856:	75 1b                	jne    400873 <mfopen+0x47>
  400858:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  40085c:	be 00 00 00 00       	mov    $0x0,%esi
  400861:	48 89 c7             	mov    %rax,%rdi
  400864:	b8 00 00 00 00       	mov    $0x0,%eax
  400869:	e8 e2 fd ff ff       	callq  400650 <open@plt>
  40086e:	89 45 fc             	mov    %eax,-0x4(%rbp)
  400871:	eb 68                	jmp    4008db <mfopen+0xaf>
  400873:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
  400877:	be 5e 0b 40 00       	mov    $0x400b5e,%esi
  40087c:	48 89 c7             	mov    %rax,%rdi
  40087f:	e8 7c fd ff ff       	callq  400600 <strcmp@plt>
  400884:	85 c0                	test   %eax,%eax
  400886:	75 20                	jne    4008a8 <mfopen+0x7c>
  400888:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  40088c:	ba b6 01 00 00       	mov    $0x1b6,%edx
  400891:	be 41 02 00 00       	mov    $0x241,%esi
  400896:	48 89 c7             	mov    %rax,%rdi
  400899:	b8 00 00 00 00       	mov    $0x0,%eax
  40089e:	e8 ad fd ff ff       	callq  400650 <open@plt>
  4008a3:	89 45 fc             	mov    %eax,-0x4(%rbp)
  4008a6:	eb 33                	jmp    4008db <mfopen+0xaf>
  4008a8:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
  4008ac:	be 60 0b 40 00       	mov    $0x400b60,%esi
  4008b1:	48 89 c7             	mov    %rax,%rdi
  4008b4:	e8 47 fd ff ff       	callq  400600 <strcmp@plt>
  4008b9:	85 c0                	test   %eax,%eax
  4008bb:	75 1e                	jne    4008db <mfopen+0xaf>
  4008bd:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  4008c1:	ba b6 01 00 00       	mov    $0x1b6,%edx
  4008c6:	be 41 04 00 00       	mov    $0x441,%esi
  4008cb:	48 89 c7             	mov    %rax,%rdi
  4008ce:	b8 00 00 00 00       	mov    $0x0,%eax
  4008d3:	e8 78 fd ff ff       	callq  400650 <open@plt>
  4008d8:	89 45 fc             	mov    %eax,-0x4(%rbp)
  4008db:	83 7d fc 00          	cmpl   $0x0,-0x4(%rbp)
  4008df:	79 07                	jns    4008e8 <mfopen+0xbc>
  4008e1:	b8 00 00 00 00       	mov    $0x0,%eax
  4008e6:	eb 5a                	jmp    400942 <mfopen+0x116>
  4008e8:	bf 10 04 00 00       	mov    $0x410,%edi
  4008ed:	e8 3e fd ff ff       	callq  400630 <malloc@plt>
  4008f2:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
  4008f6:	48 83 7d f0 00       	cmpq   $0x0,-0x10(%rbp)
  4008fb:	75 11                	jne    40090e <mfopen+0xe2>
  4008fd:	8b 45 fc             	mov    -0x4(%rbp),%eax
  400900:	89 c7                	mov    %eax,%edi
  400902:	e8 d9 fc ff ff       	callq  4005e0 <close@plt>
  400907:	b8 00 00 00 00       	mov    $0x0,%eax
  40090c:	eb 34                	jmp    400942 <mfopen+0x116>
  40090e:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  400912:	8b 55 fc             	mov    -0x4(%rbp),%edx
  400915:	89 50 04             	mov    %edx,0x4(%rax)
  400918:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  40091c:	c7 00 01 00 00 00    	movl   $0x1,(%rax)
  400922:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  400926:	c7 80 0c 04 00 00 00 	movl   $0x0,0x40c(%rax)
  40092d:	00 00 00 
  400930:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  400934:	c7 80 08 04 00 00 00 	movl   $0x400,0x408(%rax)
  40093b:	04 00 00 
  40093e:	48 8b 45 f0          	mov    -0x10(%rbp),%rax
  400942:	c9                   	leaveq 
  400943:	c3                   	retq   

0000000000400944 <mfflush>:
  400944:	55                   	push   %rbp
  400945:	48 89 e5             	mov    %rsp,%rbp
  400948:	48 83 ec 10          	sub    $0x10,%rsp
  40094c:	48 89 7d f8          	mov    %rdi,-0x8(%rbp)
  400950:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400954:	8b 80 0c 04 00 00    	mov    0x40c(%rax),%eax
  40095a:	85 c0                	test   %eax,%eax
  40095c:	7e 42                	jle    4009a0 <mfflush+0x5c>
  40095e:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400962:	8b 80 0c 04 00 00    	mov    0x40c(%rax),%eax
  400968:	48 63 d0             	movslq %eax,%rdx
  40096b:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  40096f:	48 8d 48 08          	lea    0x8(%rax),%rcx
  400973:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400977:	8b 40 04             	mov    0x4(%rax),%eax
  40097a:	48 89 ce             	mov    %rcx,%rsi
  40097d:	89 c7                	mov    %eax,%edi
  40097f:	e8 3c fc ff ff       	callq  4005c0 <write@plt>
  400984:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400988:	8b 40 04             	mov    0x4(%rax),%eax
  40098b:	89 c7                	mov    %eax,%edi
  40098d:	e8 ae fc ff ff       	callq  400640 <fsync@plt>
  400992:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400996:	c7 80 0c 04 00 00 00 	movl   $0x0,0x40c(%rax)
  40099d:	00 00 00 
  4009a0:	c9                   	leaveq 
  4009a1:	c3                   	retq   

00000000004009a2 <mfwrite>:
  4009a2:	55                   	push   %rbp
  4009a3:	48 89 e5             	mov    %rsp,%rbp
  4009a6:	48 83 ec 20          	sub    $0x20,%rsp
  4009aa:	48 89 7d f8          	mov    %rdi,-0x8(%rbp)
  4009ae:	89 75 f4             	mov    %esi,-0xc(%rbp)
  4009b1:	48 89 55 e8          	mov    %rdx,-0x18(%rbp)
  4009b5:	8b 45 f4             	mov    -0xc(%rbp),%eax
  4009b8:	48 63 d0             	movslq %eax,%rdx
  4009bb:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  4009bf:	8b 80 0c 04 00 00    	mov    0x40c(%rax),%eax
  4009c5:	48 63 c8             	movslq %eax,%rcx
  4009c8:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  4009cc:	48 01 c8             	add    %rcx,%rax
  4009cf:	48 8d 48 08          	lea    0x8(%rax),%rcx
  4009d3:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  4009d7:	48 89 c6             	mov    %rax,%rsi
  4009da:	48 89 cf             	mov    %rcx,%rdi
  4009dd:	e8 3e fc ff ff       	callq  400620 <memcpy@plt>
  4009e2:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  4009e6:	8b 90 0c 04 00 00    	mov    0x40c(%rax),%edx
  4009ec:	8b 45 f4             	mov    -0xc(%rbp),%eax
  4009ef:	01 c2                	add    %eax,%edx
  4009f1:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  4009f5:	89 90 0c 04 00 00    	mov    %edx,0x40c(%rax)
  4009fb:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  4009ff:	8b 00                	mov    (%rax),%eax
  400a01:	83 f8 01             	cmp    $0x1,%eax
  400a04:	75 36                	jne    400a3c <mfwrite+0x9a>
  400a06:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400a0a:	8b 80 0c 04 00 00    	mov    0x40c(%rax),%eax
  400a10:	85 c0                	test   %eax,%eax
  400a12:	7e 28                	jle    400a3c <mfwrite+0x9a>
  400a14:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400a18:	8b 80 0c 04 00 00    	mov    0x40c(%rax),%eax
  400a1e:	83 e8 01             	sub    $0x1,%eax
  400a21:	48 8b 55 e8          	mov    -0x18(%rbp),%rdx
  400a25:	48 98                	cltq   
  400a27:	0f b6 44 02 08       	movzbl 0x8(%rdx,%rax,1),%eax
  400a2c:	3c 0a                	cmp    $0xa,%al
  400a2e:	75 0c                	jne    400a3c <mfwrite+0x9a>
  400a30:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400a34:	48 89 c7             	mov    %rax,%rdi
  400a37:	e8 08 ff ff ff       	callq  400944 <mfflush>
  400a3c:	8b 45 f4             	mov    -0xc(%rbp),%eax
  400a3f:	c9                   	leaveq 
  400a40:	c3                   	retq   

0000000000400a41 <mfclose>:
  400a41:	55                   	push   %rbp
  400a42:	48 89 e5             	mov    %rsp,%rbp
  400a45:	48 83 ec 10          	sub    $0x10,%rsp
  400a49:	48 89 7d f8          	mov    %rdi,-0x8(%rbp)
  400a4d:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400a51:	8b 80 0c 04 00 00    	mov    0x40c(%rax),%eax
  400a57:	85 c0                	test   %eax,%eax
  400a59:	7e 0c                	jle    400a67 <mfclose+0x26>
  400a5b:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400a5f:	48 89 c7             	mov    %rax,%rdi
  400a62:	e8 dd fe ff ff       	callq  400944 <mfflush>
  400a67:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400a6b:	8b 40 04             	mov    0x4(%rax),%eax
  400a6e:	89 c7                	mov    %eax,%edi
  400a70:	e8 6b fb ff ff       	callq  4005e0 <close@plt>
  400a75:	c9                   	leaveq 
  400a76:	c3                   	retq   

0000000000400a77 <my_strlen>:
  400a77:	55                   	push   %rbp
  400a78:	48 89 e5             	mov    %rsp,%rbp
  400a7b:	48 89 7d e8          	mov    %rdi,-0x18(%rbp)
  400a7f:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400a83:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
  400a87:	eb 05                	jmp    400a8e <my_strlen+0x17>
  400a89:	48 83 45 f8 01       	addq   $0x1,-0x8(%rbp)
  400a8e:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
  400a92:	0f b6 00             	movzbl (%rax),%eax
  400a95:	84 c0                	test   %al,%al
  400a97:	75 f0                	jne    400a89 <my_strlen+0x12>
  400a99:	48 8b 55 f8          	mov    -0x8(%rbp),%rdx
  400a9d:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
  400aa1:	48 29 c2             	sub    %rax,%rdx
  400aa4:	48 89 d0             	mov    %rdx,%rax
  400aa7:	5d                   	pop    %rbp
  400aa8:	c3                   	retq   
  400aa9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)

0000000000400ab0 <__libc_csu_init>:
  400ab0:	41 57                	push   %r15
  400ab2:	41 89 ff             	mov    %edi,%r15d
  400ab5:	41 56                	push   %r14
  400ab7:	49 89 f6             	mov    %rsi,%r14
  400aba:	41 55                	push   %r13
  400abc:	49 89 d5             	mov    %rdx,%r13
  400abf:	41 54                	push   %r12
  400ac1:	4c 8d 25 48 03 20 00 	lea    0x200348(%rip),%r12        # 600e10 <__frame_dummy_init_array_entry>
  400ac8:	55                   	push   %rbp
  400ac9:	48 8d 2d 48 03 20 00 	lea    0x200348(%rip),%rbp        # 600e18 <__init_array_end>
  400ad0:	53                   	push   %rbx
  400ad1:	4c 29 e5             	sub    %r12,%rbp
  400ad4:	31 db                	xor    %ebx,%ebx
  400ad6:	48 c1 fd 03          	sar    $0x3,%rbp
  400ada:	48 83 ec 08          	sub    $0x8,%rsp
  400ade:	e8 a5 fa ff ff       	callq  400588 <_init>
  400ae3:	48 85 ed             	test   %rbp,%rbp
  400ae6:	74 1e                	je     400b06 <__libc_csu_init+0x56>
  400ae8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
  400aef:	00 
  400af0:	4c 89 ea             	mov    %r13,%rdx
  400af3:	4c 89 f6             	mov    %r14,%rsi
  400af6:	44 89 ff             	mov    %r15d,%edi
  400af9:	41 ff 14 dc          	callq  *(%r12,%rbx,8)
  400afd:	48 83 c3 01          	add    $0x1,%rbx
  400b01:	48 39 eb             	cmp    %rbp,%rbx
  400b04:	75 ea                	jne    400af0 <__libc_csu_init+0x40>
  400b06:	48 83 c4 08          	add    $0x8,%rsp
  400b0a:	5b                   	pop    %rbx
  400b0b:	5d                   	pop    %rbp
  400b0c:	41 5c                	pop    %r12
  400b0e:	41 5d                	pop    %r13
  400b10:	41 5e                	pop    %r14
  400b12:	41 5f                	pop    %r15
  400b14:	c3                   	retq   
  400b15:	90                   	nop
  400b16:	66 2e 0f 1f 84 00 00 	nopw   %cs:0x0(%rax,%rax,1)
  400b1d:	00 00 00 

0000000000400b20 <__libc_csu_fini>:
  400b20:	f3 c3                	repz retq 

Disassembly of section .fini:

0000000000400b24 <_fini>:
  400b24:	48 83 ec 08          	sub    $0x8,%rsp
  400b28:	48 83 c4 08          	add    $0x8,%rsp
  400b2c:	c3                   	retq   
